var express = require('express');
var router = express.Router();

// 导入shortid
const shortid = require('shortid');

// 导入 moment
const moment = require('moment');

const AccountModel = require('../../models/AccountModel');
const checkLoginMiddleware = require('../../middlewares/checkLoginMiddlewares')

// 添加首页路由规则
router.get('/', (req, res) => {
  // 重定向 /account
  res.redirect('/account');
});


/* 记账本的列表. */
router.get('/account', checkLoginMiddleware, function (req, res, next) {
  // 读取集合信息
  AccountModel.find()
    .sort({ time: -1 })
    .exec()
    .then((data, err) => {
      res.render('list', { accounts: data, moment });
    })
    .catch((err) => {
      res.render('fail', { msg: '数据读取失败了哦', url: '/account/create' });
    });
});


// 添加记录
router.get('/account/create', function (req, res, next) {
  // res.send('添加记录');
  res.render('create');
});



// 新增记录
router.post('/account', function (req, res, next) {

  // 插入数据库
  AccountModel.create({
    ...req.body
    // 修改time属性的值 
    , titme: moment(req.body.time).toDate()
  })
    .then((data) => {
      // 成功提醒
      res.render('success', { msg: '恭喜您，添加成功。', url: '/account' });
    })
    .catch((err) => {
      res.status(500).send('插入失败。');
    })

});



// 删除记录
router.get('/account/:id', (req, res) => {
  // 获取 params 的 id 参数
  const id = req.params.id;
  console.log(id);
  // 删除
  AccountModel.deleteOne({ _id: id }).exec()
    .then((data) => {
      console.log(data);
      res.render('success', { msg: '删除成功。', url: '/account' });
    })
    .catch((err) => {
      res.status(500).send('删除失败。');
      return;
    });
});

module.exports = router;
